package com.future.service;

import com.future.pojo.Album;
import com.future.pojo.Discuss;
import com.future.pojo.Musics;
import com.future.pojo.Users;
import org.mapstruct.Mapper;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

public interface AdminService {

    //查询所有管理员
    List<Users> queryAdmin();

    //查询总记录条数
    int userCount();
    //查询所有用户
    List<Users> queryAllUsers(int begin,int end);

    //删除一个用户
    int deleteUser(Integer userId);

    //模糊查询一个用户（用户名）
    List<Users> queryUserByusername(String userName);

    //根据id查找用户
    Users queryByIdUser(int userId);

    //添加用户
    int adduser(String userName,String userHao,String userPwd,String userEmail,String userGen);

    //管理员更新用户信息
    int updateUser(Integer userId, String userName, String userEmail, String userLv, Integer userVipBal,String userGen);

    //歌手条数
    int singerCount();

    //  查询所有歌手
    List<Users> querySinger(int begin,int end);

    //模糊查询一个歌手（用户名）
    List<Users> querySingerByusername(String userName);

    //增加歌手
    int addSinger(String userName,String userGen,String userHao,String userPwd,String userEmail,String userBirth,String userHot,String userImgload,String userThing,String userLv);

    //修改歌手信息
    int updateSinger(Integer userId,String userName, String userGen, String userPwd,String userBirth, String userHot, String userImgload,String userThing);


    //模糊查询一个歌曲（歌名）
    List<Musics> querySongBymcName(String userName);
    //删除一首歌
    int deleteSong(Integer mcId);

    //音乐条数
    int musicCount();

    //查询所有音乐
    List<Musics> queryAllMusic(int begin,int end);
    //检查音乐是否存在
    int checkSong(String mcName,String userName);
    //增加一首歌曲
    @Transactional
    int addSong(String mcName,int mcHot,int mcLv,String mcMvLoad,String mcLoad,String mcTime,String albName,String userName,String mcLrc,int albId,String mcLoaddele);

    //修改音乐信息
    int updateSong(Integer mcId,String mcName,int mcHot,int mcLv,String albName,String userName,String mcLrc,int albId);

    //查询所有专辑
    List<Album> queryAllAlbum(int begin,int end);

    //查询所有专辑数量
    int albumCount();

    //删除专辑
    int deleteAlbum(int albId);
    //删除专辑中的音乐
    int deletesong(int albId);

    //批量删除用户
    int BatchdeleteUsers(List<String> numbers);



    //查询评论
    List<Discuss> queryDis();


    //同意成为歌手
    int changeSingerTrue(int userId, String userLv);

    //不同意成为歌手
    int changeSingerFalse(int userId, String userLv);

    List<Album> queryalbumByusername(String albName);

    //查询专辑是否存在
    int checkAlbum(String albName);

    int addAlbum(String albName,String albThing,int userId,int albHot,String albImgload,String albTime,String albLanguage,String albType);

    int updateAlbum(String albName,String albThing,int albHot,String albImgload,String albTime,String albLanguage,int albId,String albType);

    //删除评论
    int deleteDis(int disId);

    //批量删除歌曲
    int BatchdeleteSongs(List<String> numbers);

    int BatchdeleteAlbum(List<String> numbers);
}
